#ifndef COLLISION_H
#define COLLISION_H

class Sphere;
class Cube;
// ... more primitives

namespace Collision
{
    // Maybe detail more states? the book only covers this three
    typedef enum { Inside, Partially, Outside } CollisionState;
    // For now we only need to test primitives_cube collision
    //bool cube_cube_collision(const Cube &cube1, const Cube &cube2);
    // A simple sphere-cube collision
    CollisionState sphere_cube_collision(const Sphere &sphere, const Cube &cube);
    // A simple cube-cube collision
    CollisionState cube_cube_collision(const Cube &cube1, const Cube &cube2);

    //bool cylinder_cube_collision(const Sphere &sphere, const Cube &cube);

}

#endif // COLLISION_H
